openwrt/openwrt.git
9 hours agoodhcp6c: update to Git HEAD (2025-12-09) main master
Álvaro Fernández Rojas [Tue, 9 Dec 2025 15:17:04 +0000 (16:17 +0100)]
odhcp6c: update to Git HEAD (2025-12-09)

5212a1019d75 odhcp6c: clear the socket buffer after initialising it

https://github.com/openwrt/odhcp6c/compare/1d6c4e794cdb...5212a1019d75

Signed-off-by: Álvaro Fernández Rojas <[email protected]>
11 hours agolibubox: update to Git HEAD (2025-12-08)
Hauke Mehrtens [Mon, 8 Dec 2025 21:15:31 +0000 (22:15 +0100)]
libubox: update to Git HEAD (2025-12-08)

5714bf6ae652 build: install libubox
440b4e988f39 tests: shunit2: add dump and setters coverage
a3ff29ef93df tests: shunit2: add test for _jshn_append via JSON script
38d70328ecbd github: ci: add MIPS64, PowerPC64 and RISCV64
edaf77da740d scripts: devel-build: add missing LUAPATH
c0773869c9d6 build: disable static json-c
ecddb31dc34d formal: fix workflow permissions
7928f1711703 libubox: Add ability to find ordinal position inside a table

Changes: https://github.com/openwrt/libubox/compare/a75209f62982f7218f73b9b4fd9b705e19f5f94a...7928f1711703767b0ac5ce916c7231d0e1af1ca2

Link: https://github.com/openwrt/openwrt/pull/21099
Signed-off-by: Hauke Mehrtens <[email protected]>
11 hours agoubus: update to Git HEAD (2025-12-02)
Hauke Mehrtens [Mon, 8 Dec 2025 21:26:53 +0000 (22:26 +0100)]
ubus: update to Git HEAD (2025-12-02)

3cc98db1a422 formal: fix workflow permissions

Changes: https://github.com/openwrt/ubus/compare/2737da3819fefafa5b63d5f82efb77ff0032a5d8...3cc98db1a422dcf560f2d6347fd410f17565a89d

Link: https://github.com/openwrt/openwrt/pull/21102
Signed-off-by: Hauke Mehrtens <[email protected]>
11 hours agolibnl-tiny: update to Git HEAD (2025-12-02)
Hauke Mehrtens [Mon, 8 Dec 2025 21:14:47 +0000 (22:14 +0100)]
libnl-tiny: update to Git HEAD (2025-12-02)

087d4ce8c07b github: ci: add cmake build and source directories
2871f3f26abb github: ci: add powerpc arch
567be1101523 github: ci: add MIPS64, PowerPC64 and RISCV64
40493a655d8c formal: fix workflow permissions

Changes: https://github.com/openwrt/libnl-tiny/compare/532ac744dedcf83c06e2f4a8320fcc8089f23b72...40493a655d8caa2ccf5206dde1e733abe2920432

Link: https://github.com/openwrt/openwrt/pull/21098
Signed-off-by: Hauke Mehrtens <[email protected]>
11 hours agouci: update to Git HEAD (2025-12-02)
Hauke Mehrtens [Mon, 8 Dec 2025 21:27:23 +0000 (22:27 +0100)]
uci: update to Git HEAD (2025-12-02)

66127cd76c5d formal: fix workflow permissions

Changes: https://github.com/openwrt/uci/compare/5bea13572325af4fb3057ff600cc7f7d5b82012b...66127cd76c5d0bd46d5a90302cc6110f53a4e2f8

Link: https://github.com/openwrt/openwrt/pull/21103
Signed-off-by: Hauke Mehrtens <[email protected]>
11 hours agouboot-mediatek: fix readmem command help message
Shiji Yang [Tue, 9 Dec 2025 10:47:32 +0000 (18:47 +0800)]
uboot-mediatek: fix readmem command help message

Correct the order of the arguments.

Signed-off-by: Shiji Yang <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/21109
Signed-off-by: Hauke Mehrtens <[email protected]>
16 hours agobmips: b53: enable bcm63268 internal PHYs
Kyle Hendry [Fri, 17 Jan 2025 20:18:20 +0000 (12:18 -0800)]
bmips: b53: enable bcm63268 internal PHYs

On the smartrg sr505n the bootloader only sets registers to enable the
PHYs if it's interrupted. When Linux boots this results in a -EINVAL
error when trying to read from the EPHYs and the GPHY doesn't work.
This patch disables low power mode in the GPHY/EPHYs and properly resets
the EPHYs.

Signed-off-by: Kyle Hendry <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/17648
Signed-off-by: Álvaro Fernández Rojas <[email protected]>
29 hours agoapk: Fix host compilation with C89
Hauke Mehrtens [Tue, 9 Dec 2025 01:06:26 +0000 (02:06 +0100)]
apk: Fix host compilation with C89

This fixes the following build error:
```
../src/apk.c: In function 'parse_options':
../src/apk.c:584:4: error: a label can only be part of a statement and a declaration is not a statement
  584 |    char *arg = opt_parse_arg(&st);
      |    ^~~~
```

Upstream MR: https://gitlab.alpinelinux.org/alpine/apk-tools/-/merge_requests/376

Fixes: b91ebdabbb09 ("apk: bump to 3.0.1")
Signed-off-by: Hauke Mehrtens <[email protected]>
30 hours agomediatek: filogic: add support Netcore NX30V2/N30PRO/POWER30AX/W7/GW3001
Zhiwei Cao [Fri, 25 Apr 2025 03:03:56 +0000 (11:03 +0800)]
mediatek: filogic: add support Netcore NX30V2/N30PRO/POWER30AX/W7/GW3001

Hardware specification:
  SoC: MediaTek MT7981B
  Flash: ESMT F50L1G41LB 128MB
  RAM: ESMT M15T2G16128A DDR3 256MB
  Ethernet: 3x 1G
  Button: Reset, WPS

MAC addresses
  LAN: Label MAC (stored in Factory partition offset 0x1fef20)
  WAN: LAN + 1
  WiFi: LAN

Official LED layout, from left to right:
  [power] [internet] [wps] [wifi] [lan3/2/1] [wan]

Redefinition for OpenWrt:
  [power]: used for led-boot, led-failsafe, and led-running
  [internet]: used for WAN RX/TX indication
  [wps]: used for led-upgrade
  [wifi] and [lan3/2/1]: unchanged
  [wan]: used for WAN link indication

Installing OpenWrt:
  - Setup a tftp server on your PC. Copy
    xxx-preloader.bin, xxx-bl31-uboot.fip and
    xxx-initramfs.itb to tftp root directory.
  - Connect to the router via ssh or telnet,
    username: useradmin, password is the web
    login password of the router.
  - Backup all critical flash partitions with
    the following commands where x.x.x.x is
    the IP of your PC.

    IP=x.x.x.x
    cd /dev
    for d in /sys/class/mtd/mtd?; do
      if [ "$(cat $d/name)" = "BL2" ]; then
        tftp -l $(basename $d) -r bl2.img -p $IP
      elif [ "$(cat $d/name)" = "FIP" ]; then
        tftp -l $(basename $d) -r fip.bin -p $IP
      elif [ "$(cat $d/name)" = "Factory" ]; then
        tftp -l $(basename $d) -r factory.bin -p $IP
      fi
    done
    for d in /sys/devices/virtual/ubi/ubi0/ubi0_*; do
      [ "$(cat $d/name)" != "customer" ] && continue
      tftp -l $(basename $d) -r customer -p $IP
      break
    done

  - Flash with the following commands:

     cd /tmp
     tftp -r xxx-preloader.bin -g x.x.x.x
     tftp -r xxx-bl31-uboot.fip -g x.x.x.x
     mtd write xxx-preloader.bin spi0.0
     mtd write xxx-bl31-uboot.fip FIP
     mtd erase ubi

  - Set a static ip(192.168.1.254) for your PC.
    And then reboot the router. It will run
    initramfs image automatically.
  - After openwrt boots up, perform sysupgrade
    via web UI.

Reverting to the vendor firmware:
  - Setup a tftp server on your PC with ip
    address 192.168.1.254. And make sure
    bl2.img, fip.bin, factory.bin and customer
    are located in tftp root directory.
  - Power off the router.
  - Press and hold WPS key, then power on
    the router.
  - Release WPS key, when internet/wifi/wps
    leds are blinking.
  - Wait until internet/wifi/wps leds light
    up, power off the router.
  - Press and hold reset key, power up the
    router, release reset key 15s later.
  - Connect to http://192.168.1.1, now you
    can upload vendor .bin firmware.

Uboot netconsole:
  Uboot netconsole can be enabled by WPS
  or reset key.

  - Setup a linux PC with ip 192.168.1.254.
    Open a new terminal and execute
    'stty -isig -echo cbreak; nc -lup 6666'
  - Press and hold WPS(or reset) key, then
    power on the router.
  - Release key once internet/wifi/wps leds
    are all on.
    NOTE: don't hold the key more than 5s
    after internet/wifi/wps leds on, or it
    will try to revert to vendor firmware.
  - 5s later, uboot bootmenu will show on
    the terminal.

Signed-off-by: Zhiwei Cao <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/18631
Signed-off-by: Hauke Mehrtens <[email protected]>
30 hours agoath79: meraki_mr1[26]: userspace cal to nvmem
Rosen Penev [Sat, 17 Feb 2024 05:27:05 +0000 (21:27 -0800)]
ath79: meraki_mr1[26]: userspace cal to nvmem

Userspace handling is deprecated.

Signed-off-by: Rosen Penev <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/21002
Signed-off-by: Hauke Mehrtens <[email protected]>
30 hours agoath79: moxa,awk-1137c: use nvmem for calibration
Rosen Penev [Thu, 23 Oct 2025 01:02:12 +0000 (18:02 -0700)]
ath79: moxa,awk-1137c: use nvmem for calibration

Userspace handling is deprecated.

Use led-sources for simplicity.

Signed-off-by: Rosen Penev <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/21026
Signed-off-by: Hauke Mehrtens <[email protected]>
30 hours agomediatek: filogic: replace spaces with tabs for indentation
Brian Lee [Wed, 3 Dec 2025 04:57:28 +0000 (13:57 +0900)]
mediatek: filogic: replace spaces with tabs for indentation

This commit replaces the 7-8 spaces with 1 tab to modify the indentation appropriately.

Signed-off-by: Brian Lee <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/21018
Signed-off-by: Hauke Mehrtens <[email protected]>
30 hours agomediatek: filogic: add support for Kebidumei AX3000-U22
Pawel Dembicki [Thu, 2 Oct 2025 13:49:17 +0000 (15:49 +0200)]
mediatek: filogic: add support for Kebidumei AX3000-U22

Kebidumei AX3000-U22 is one of many clones of the same range extender
that can be found on Aliexpress or other Chinese portals.

The easiest way to identify this model is by searching for "AX3000
Repeater" and picking the device that looks like mine [0].

Specification:
- SoC:     MediaTek MT7981B (1.3 GHz)
- RAM:     256 MB
- Flash:   16 MB SPI NOR
- Ports:   1 x 1 GbE
- Antenna: 6 (2 fake)
- WiFi:    MediaTek dual-band WiFi 6
  - 2.4 GHz: b/g/n/ax, MIMO 2x2
  - 5 GHz:   a/n/ac/ax, MIMO 2x2
- Buttons: Reset & WPS
- LEDs:    Ethernet (green), Status (red, green, blue)
- Power:   110–240 V AC (internal PSU, board uses 12 V DC)
- Serial:  unmarked connector on PCB
           [1: Vcc, 2: RX, 3: TX, 4: GND]

Install via OEM web UI:
1. Use reset button to perform factory reset.
2. Connect PC to LAN port and obtain DHCP address.
3. Upload the sysupgrade image via OEM firmware upgrade page,
   e.g. http://192.168.18.1/upgrade.html
4. After reboot, hold reset button to clear leftover vendor config.

Install via serial:
1. Connect serial console (115200 8N1).
2. Enter the console.
3. Backup mtd4 partition if you want to restore OEM FW later.
4. Download image.
5. Run 'sysupgrade -n'.

Revert to stock:
1. Run sysupgrade without keeping config using mtd4 backup.

[0] https://openwrt.org/_media/media/kebidumei_ax3000-u22.png

Signed-off-by: Pawel Dembicki <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20287
Signed-off-by: Hauke Mehrtens <[email protected]>
31 hours agogpio-button-hotplug: some modern cleanups
Rosen Penev [Tue, 2 Dec 2025 23:19:10 +0000 (15:19 -0800)]
gpio-button-hotplug: some modern cleanups

devm_kmalloc_array addition.

of_property_present instead of boolean hack.

for_each_available_child_of_node_scoped to avoid of_node_put.

Signed-off-by: Rosen Penev <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/21033
Signed-off-by: Hauke Mehrtens <[email protected]>
31 hours agomediatek: add Keenetic KN-1812/Netcraze NC-1812 support
Maxim Anisimov [Mon, 10 Nov 2025 10:58:14 +0000 (13:58 +0300)]
mediatek: add Keenetic KN-1812/Netcraze NC-1812 support

This commit adds support for Keenetic KN-1812/Netcraze NC-1812

Device specification
--------------------
SoC Type:   MediaTek MT7988D, Cortex-A73, 64-bit
RAM:        1024MB DDR4 Micron MT40A512M16TB-062E:R
Flash:      SPI NAND Winbond W25N02KV (256 MiB)
Ethernet:   4x1GbE (internal MT7988 built-in) + 2.5GbE (internal MT7988 phy) + 10GbE (RTL8261BE)

WLAN:       MT7992AV
WLAN 2g:    MediaTek MT7975N, b/g/n/ax/be, MIMO 4x4
WLAN 5g:    MediaTek MT7977B, a/n/ac/ax/be, MIMO 4x4
LEDs:       5 LEDs, 1 power green, 1 internet green,
            2x fn green, 1 wlan green, gpio-controlled
Button:     4 (Reset, WPS, FN1, FN2)
USB port:   Yes, 1xUSB3.2 and 1xUSB2.0 (via GL850G)
Power:      12 VDC, 3 A

Notes:
 * The device supports dual boot mode
 * Fn2 led reassigned to wlan 2.4

Flash instruction:
The only way to flash OpenWrt image is to use tftp recovery mode in U-Boot:

1. Configure PC with static IP 192.168.1.2/24 and tftp server.
2. a) Keenetic
      Rename "openwrt-mediatek-filogic-keenetic_kn-1812-squashfs-factory.bin"
      to "KN-1812_recovery.bin" and place it in tftp server directory.
   b) Netcraze
      Rename "openwrt-mediatek-filogic-netcraze_nc-1812-squashfs-factory.bin"
      to "NC-1812_recovery.bin" and place it in tftp server directory.
3. Connect PC with ethernet port, press the reset button, power up
   the device and keep button pressed until status led start blinking.
4. Device will download file from server, write it to flash and reboot.

Signed-off-by: Maxim Anisimov <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20737
Signed-off-by: Hauke Mehrtens <[email protected]>
31 hours agomediatek: import patch from Mediatek SDK for pcie
Maxim Anisimov [Tue, 11 Nov 2025 14:38:21 +0000 (17:38 +0300)]
mediatek: import patch from Mediatek SDK for pcie

Without this patch some devices can't detect wifi chip.

Signed-off-by: Maxim Anisimov <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20737
Signed-off-by: Hauke Mehrtens <[email protected]>
31 hours agouboot-envtools: reorganize the initialization scripts
Shiji Yang [Fri, 5 Dec 2025 13:19:05 +0000 (21:19 +0800)]
uboot-envtools: reorganize the initialization scripts

Reorder device names alphabetically and group together the same configs.

Signed-off-by: Shiji Yang <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/21052
Signed-off-by: Hauke Mehrtens <[email protected]>
31 hours agouboot-envtools: ipq40xx: remove unused function ubootenv_mtdinfo()
Shiji Yang [Fri, 5 Dec 2025 13:16:05 +0000 (21:16 +0800)]
uboot-envtools: ipq40xx: remove unused function ubootenv_mtdinfo()

This function is defined but unused. There is no reason to keep it.

Signed-off-by: Shiji Yang <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/21052
Signed-off-by: Hauke Mehrtens <[email protected]>
31 hours agoramips: mt7621.mk: fix alphabetical ordering some Cudy devices
Marcin Leksmark [Thu, 4 Dec 2025 16:51:11 +0000 (17:51 +0100)]
ramips: mt7621.mk: fix alphabetical ordering some Cudy devices

This PR doesn't change anything other than fixing the alphabetical order of some Cudy devices
(R700 and c200p)

Signed-off-by: Marcin Leksmark <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/21044
Signed-off-by: Hauke Mehrtens <[email protected]>
31 hours agorealtek: dsa,phy: rtl838x: remove 'SerDes as PHY' leftovers
Jonas Jelonek [Fri, 7 Nov 2025 19:00:03 +0000 (19:00 +0000)]
realtek: dsa,phy: rtl838x: remove 'SerDes as PHY' leftovers

RTL838X SerDes is now completely managed by the PCS driver so it's time
to remove all the unused leftovers from DSA and PHY drivers to have that
finally separated.

Signed-off-by: Jonas Jelonek <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20876
Signed-off-by: Hauke Mehrtens <[email protected]>
31 hours agorealtek: rtl838x: drop SFP pseudo-PHYs and phy-handle
Jonas Jelonek [Fri, 7 Nov 2025 18:45:27 +0000 (18:45 +0000)]
realtek: rtl838x: drop SFP pseudo-PHYs and phy-handle

Remove all pseudo-PHYs and phy-handle properties from DTS of RTL838X
devices. RTL838X SerDes is now handled by PCS driver and thus not
treated as PHY anymore.

Signed-off-by: Jonas Jelonek <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20876
Signed-off-by: Hauke Mehrtens <[email protected]>
31 hours agorealtek: rtl838x: setup SDS entirely in PCS driver
Jonas Jelonek [Fri, 7 Nov 2025 16:15:17 +0000 (16:15 +0000)]
realtek: rtl838x: setup SDS entirely in PCS driver

After having moved the configuration code and sequences from PHY and
DSA drivers to the PCS driver, add the hooks in PCS driver and remove
calls in PHY and DSA drivers to let PCS driver setup the SerDes
entirely on its own.

Also add pcs-handle to device tree definitions for most of the switch
ports because, due to the refactoring of the SerDes configuration, this
is needed now for all SerDes-attached ports.

Signed-off-by: Jonas Jelonek <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20876
Signed-off-by: Hauke Mehrtens <[email protected]>
31 hours agorealtek: pcs: rtl838x: refactor imported code
Jonas Jelonek [Fri, 7 Nov 2025 11:45:30 +0000 (11:45 +0000)]
realtek: pcs: rtl838x: refactor imported code

The previous commit just imported some code as-is and commented it.
It needs heavy adjustments to compile and work within the PCS driver.
Do that now to that extent that it can be used within the driver. More
cosmetics and improvements will be done later.

Split the once-for-all SerDes configuration into the usual flow where
each SerDes is configured separately and on its own, as requested by the
PCS subsystem.

Move mode setting and patching into proper functions which are called
during SerDes configuration. Some configuration sequences are broken up
and moved into the SerDes configuration flow, e.g. reset sequences
because they were usually a single/few values applied to all SerDes at
once before.

Add proper configuration for SerDes 4 QSGMII to be able to setup this
mode properly on our own.

Signed-off-by: Jonas Jelonek <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20876
Signed-off-by: Hauke Mehrtens <[email protected]>
31 hours agorealtek: pcs: rtl838x: import SerDes code from DSA/PHY
Jonas Jelonek [Fri, 7 Nov 2025 11:47:37 +0000 (11:47 +0000)]
realtek: pcs: rtl838x: import SerDes code from DSA/PHY

Import functions 'rtl8380_sds_rst', 'rtl8380_sds_power',
'rtl8380_configure_serdes' and 'rtl83xx_config_interface' from DSA and
PHY driver respectively but comment the code for now.

The code needs heavy adjustments to make it compile and work. To make
this as transparent as possible, do that in two stages.

Signed-off-by: Jonas Jelonek <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20876
Signed-off-by: Hauke Mehrtens <[email protected]>
31 hours agorealtek: pcs: rtl838x: transplant firmware config
Jonas Jelonek [Fri, 7 Nov 2025 10:21:43 +0000 (10:21 +0000)]
realtek: pcs: rtl838x: transplant firmware config

In the PHY driver, firmware files were used to store configuration
values for the SerDes which need to be applied upon initialization.
There are several issues which prevent to just take that over into the
PCS driver:
* SerDes and PHY parts are mixed within a firmware file
* SerDes access in PHY driver is based on writing into the switch's
  global register space; PCS driver uses access via MDIO interface
  --> destination values do not match
* firmware file format is not SerDes-agnostic
* no documentation or script for the "old" firmware files

Unfortunately, there is no proper firmware format yet where to take over
the required sequences. Thus, extract the sequences needed for RTL838X
SerDes, transform them to work with the MDIO based access and put them
as functions in the PCS driver.

Note that this should just be a temporary solution. In a next step, a
proper firmware format should be established and all configuration
sequences currently in the code should be moved into firmware files.

Signed-off-by: Jonas Jelonek <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20876
Signed-off-by: Hauke Mehrtens <[email protected]>
31 hours agorealtek: pcs: add init_serdes_common hook
Jonas Jelonek [Fri, 7 Nov 2025 12:16:45 +0000 (12:16 +0000)]
realtek: pcs: add init_serdes_common hook

Add a new hook called 'init_serdes_common' to be able to perform
initialisations or anything else subject to all SerDes. This hook is
called in the end of 'rtpcs_probe' after everything else is done.

This is meant primarily to support the transition of RTL83XX from PHY
driver to PCS driver. Thus, it may be removed later again or kept if
there is sufficient need for this.

Signed-off-by: Jonas Jelonek <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20876
Signed-off-by: Hauke Mehrtens <[email protected]>
31 hours agoscripts/kernel_bump: adjust commit messages
George Sapkin [Mon, 1 Dec 2025 14:57:00 +0000 (16:57 +0200)]
scripts/kernel_bump: adjust commit messages

Due to the recent changes with the formality checks kernel_bump commit
messages no-longer pass them.

Adjust these messages to follow the updated checks:
- start the first word after prefix with lower-case
- reduce the overall subject length by removing the redundant 'kernel'

Signed-off-by: George Sapkin <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/21012
Signed-off-by: Hauke Mehrtens <[email protected]>
32 hours agorealtek: fix SFP support on Engenius EWS2910P
Jonas Jelonek [Fri, 7 Nov 2025 18:34:58 +0000 (18:34 +0000)]
realtek: fix SFP support on Engenius EWS2910P

EWS2910P has two SFP slots of which only one was fully supported so far.
The issue so far was that both SFP slots share the same I2C SCL line but
neither the kernel nor any downstream driver was able to deal with this.

Thus, only one SFP slot was completely working (with detection etc.) but
the other one had to be enabled manually. Networking was functional in
both though.

Since acd7ecc9ed we have a driver which is able to deal with that. Thus,
we can fix the SFP support for this device.

Signed-off-by: Jonas Jelonek <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20687
Signed-off-by: Hauke Mehrtens <[email protected]>
34 hours agomac80211: add pending fix for wrong resource_size() usage for ath11k
Christian Marangi [Mon, 8 Dec 2025 20:42:48 +0000 (21:42 +0100)]
mac80211: add pending fix for wrong resource_size() usage for ath11k

Add pending fix for wrong resource_size() usage that cause firmware
crash on load on ath11k.

Refresh all affected patch by this.

Signed-off-by: Christian Marangi <[email protected]>
34 hours agoRevert "generic: add pending patch fixing resource_size()"
Christian Marangi [Mon, 8 Dec 2025 20:41:03 +0000 (21:41 +0100)]
Revert "generic: add pending patch fixing resource_size()"

This reverts commit 63e2b17c011318b7f7a5c7082fd8c969c430d7df.

Further discussion with Upstream for the topic revealed an even subtle
problem that require specific driver to be fixed. Revert the wrong
generic fix in favor of specific ath11k fix.

Link: https://lore.kernel.org/all/[email protected]/T/#m990492684913c5a158ff0e5fc90697d8ad95351b
Signed-off-by: Christian Marangi <[email protected]>
34 hours agoapk: bump to 3.0.1
Paul Donald [Mon, 8 Dec 2025 16:41:25 +0000 (17:41 +0100)]
apk: bump to 3.0.1

Recently finalized 3 branch bumped to 3.0.1

dropped patches
-010-libressl4.patch; integrated at source
-999-small-scripts-tar.patch; integrated at source

refreshed remaining patches

DEPRECATION: Option 'compressed-help' is deprecated - removed.
DEPRECATION: Option 'zstd' value 'false' is replaced by 'disabled'

Signed-off-by: Paul Donald <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/21093
Signed-off-by: Christian Marangi <[email protected]>
34 hours agoapk: define minimal variant for install
Paul Donald [Mon, 8 Dec 2025 19:45:16 +0000 (20:45 +0100)]
apk: define minimal variant for install

Choose the minimal release build which excludes a number of
unused applets, not used on user devices.

Signed-off-by: Paul Donald <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/21093
Signed-off-by: Christian Marangi <[email protected]>
37 hours agodropbear: enable configurable port forwarding options
Petr Štetiar [Sat, 6 Dec 2025 18:34:37 +0000 (18:34 +0000)]
dropbear: enable configurable port forwarding options

Currently its only possible to disable port forwarding only for specific
keys, via the OpenSSH-style restriction in `authorized_keys` file.

In some use cases it might be feasible to disable such features globally
on service level, so lets add new LocalPortForward and RemotePortForward
config knobs.

Signed-off-by: Petr Štetiar <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/21071
Signed-off-by: Christian Marangi <[email protected]>
37 hours agoloongarch64: backport kernel BPF trampoline
Vincent Li [Sun, 7 Dec 2025 15:53:07 +0000 (07:53 -0800)]
loongarch64: backport kernel BPF trampoline

Enable xdp-loader to attach multiple XDP programs to a single interface by
backporting the BPF trampoline implementation from Linux kernel 6.17 to
6.12 for LoongArch64.

The xdp-loader utility relies on libxdp, which in turn requires kernel
support for BPF trampoline. While x86_64 and other architectures have
this feature, LoongArch64 only gained it in kernel 6.17. Without this
backport, xdp-loader fails on LoongArch64 systems running kernel 6.12.

Changes backported include:
- BPF trampoline infrastructure for LoongArch64
- Necessary JIT compiler updates
- Related BPF subsystem changes

This allows full compatibility with the xdp-tools ecosystem on LoongArch64
systems running older kernel versions.

Reference: https://github.com/xdp-project/xdp-tools/tree/main/lib/libxdp

Signed-off-by: Vincent Li <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/21077
Signed-off-by: Christian Marangi <[email protected]>
37 hours agoath10k-ct: remove outdated iommu revert patch
Shiji Yang [Mon, 8 Dec 2025 11:11:39 +0000 (19:11 +0800)]
ath10k-ct: remove outdated iommu revert patch

The issue described in the patch can not be reproduced in the latest
6.18 ath10k-ct driver. It should have been fixed by the upstream.

Signed-off-by: Shiji Yang <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/21089
Signed-off-by: Christian Marangi <[email protected]>
37 hours agomac80211: ralink: remove rt2x00soc.ko
Shiji Yang [Mon, 8 Dec 2025 11:02:33 +0000 (19:02 +0800)]
mac80211: ralink: remove rt2x00soc.ko

"rt2x00soc.c" was removed in 6.18 kernel backport[1]. Fix build error:

openwrt/build_dir/target-mipsel_24kc_musl/linux-ramips_mt7620/mac80211-regular/backports-6.18/drivers/net/wireless/ralink/rt2x00/rt2x00soc.ko' is missing.

[1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?h=v6.18&id=7f6109086c9e7bbc78ff936dac45626870455c76
Fixes: 52a087374227 ("mac80211: update to version 6.18")
Signed-off-by: Shiji Yang <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/21089
Signed-off-by: Christian Marangi <[email protected]>
38 hours agoeconet: fix wrong board name for Zyxel PMG5617GA
Caleb James DeLisle [Thu, 4 Dec 2025 19:13:23 +0000 (19:13 +0000)]
econet: fix wrong board name for Zyxel PMG5617GA

Board name was specified incorrectly in the DT, fix.
This bug was introduced in #20580 (31f5fc8fea8931f5) which was
merged last week, and econet is still a mostly experimental target,
so it is considered unnecessary to update SUPPORTED_DEVICES.

Signed-off-by: Caleb James DeLisle <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/21023
Signed-off-by: Robert Marko <[email protected]>
38 hours agoeconet: update en75_chboot to use OpenWrt board_name
Caleb James DeLisle [Tue, 2 Dec 2025 20:37:24 +0000 (20:37 +0000)]
econet: update en75_chboot to use OpenWrt board_name

Instead of using the name from /proc/cpuinfo, use board_name from
/lib/functions.sh

Signed-off-by: Caleb James DeLisle <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/21023
Signed-off-by: Robert Marko <[email protected]>
38 hours agobmips: huawei-hg556a-c: use nvmem for wifi eeprom
Rosen Penev [Sat, 6 Dec 2025 21:14:03 +0000 (13:14 -0800)]
bmips: huawei-hg556a-c: use nvmem for wifi eeprom

The ralink custom property is deprecated and only kept around for
byteswap capability.

Signed-off-by: Rosen Penev <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/21058
Signed-off-by: Robert Marko <[email protected]>
38 hours agobmips: use led-sources for ath9k
Rosen Penev [Sat, 6 Dec 2025 03:34:37 +0000 (19:34 -0800)]
bmips: use led-sources for ath9k

Avoids having to create a custom LED for wifi.

Signed-off-by: Rosen Penev <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/21058
Signed-off-by: Robert Marko <[email protected]>
38 hours agohostapd: allow ubus ban client address to be a broadcast address
Rany Hany [Thu, 1 May 2025 17:06:20 +0000 (17:06 +0000)]
hostapd: allow ubus ban client address to be a broadcast address

This will allow del_client with ban_time on a broadcast address
to also ban all clients temporarily.

Signed-off-by: Rany Hany <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/18670
Signed-off-by: Robert Marko <[email protected]>
38 hours agohostapd: add ubus support to disasoc/deauth all wireless STAs
Rany Hany [Thu, 1 May 2025 16:46:35 +0000 (16:46 +0000)]
hostapd: add ubus support to disasoc/deauth all wireless STAs

Similar to the hostapd control interface, treat ff:ff:ff:ff:ff:ff
as a stand in for "all clients".

Signed-off-by: Rany Hany <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/18670
Signed-off-by: Robert Marko <[email protected]>
2 days agortl8812au-ct: rework patch to support kernel 6.18
Christian Marangi [Tue, 2 Dec 2025 19:31:26 +0000 (20:31 +0100)]
rtl8812au-ct: rework patch to support kernel 6.18

Rework patch to support backports package based on kernel 6.18.

Link: https://github.com/openwrt/openwrt/pull/20964
Signed-off-by: Christian Marangi <[email protected]>
2 days agomwlwifi: add pending patch to support kernel 6.18
Christian Marangi [Mon, 1 Dec 2025 22:56:54 +0000 (23:56 +0100)]
mwlwifi: add pending patch to support kernel 6.18

Add pending patch to support backports package based on kernel 6.18.

Link: https://github.com/openwrt/openwrt/pull/20964
Signed-off-by: Christian Marangi <[email protected]>
2 days agoath10k-ct: switch to base 6.18
Christian Marangi [Tue, 2 Dec 2025 19:40:31 +0000 (20:40 +0100)]
ath10k-ct: switch to base 6.18

Switch ath10k-ct kernel version base to 6.18 to align with backports
package based on 6.18 kernel version.

Link: https://github.com/openwrt/openwrt/pull/20964
Signed-off-by: Christian Marangi <[email protected]>
2 days agoath10k-ct: update to Git HEAD (2025-12-01)
Christian Marangi [Tue, 2 Dec 2025 19:34:12 +0000 (20:34 +0100)]
ath10k-ct: update to Git HEAD (2025-12-01)

bb84e1597474 Add 6.18 ath10k-ct driver

Link: https://github.com/openwrt/openwrt/pull/20964
Signed-off-by: Christian Marangi <[email protected]>
2 days agomt76: backport patch fixing support for 6.18
Christian Marangi [Sun, 30 Nov 2025 12:11:56 +0000 (13:11 +0100)]
mt76: backport patch fixing support for 6.18

Backport upstream patch fixing support for 6.18 due to kernel upstream
commit b74947b4f6ff ("wifi: cfg80211/mac80211: Add support to get radio
index")

Link: https://github.com/openwrt/openwrt/pull/20964
Signed-off-by: Christian Marangi <[email protected]>
2 days agoramips: migrate wifi compatible to new name
Christian Marangi [Thu, 27 Nov 2025 22:16:38 +0000 (23:16 +0100)]
ramips: migrate wifi compatible to new name

Migrate wifi compatible from ralink,rt2880-wmac to ralink,rt2880-wifi to
align to new 6.18 backports version.

Link: https://github.com/openwrt/openwrt/pull/20964
Signed-off-by: Christian Marangi <[email protected]>
2 days agomac80211: update to version 6.18
Christian Marangi [Thu, 27 Nov 2025 21:00:54 +0000 (22:00 +0100)]
mac80211: update to version 6.18

Drop all upstreamed patch and refresh all affected patch.

Minor changes were needed to the
350-mac80211-allow-scanning-while-on-radar-channel due to changes in
6.18.

Also some changes were needed to downstream patch due to upstream commit
b74947b4f6ff ("wifi: cfg80211/mac80211: Add support to get radio index")

Link: https://github.com/openwrt/openwrt/pull/20964
Signed-off-by: Christian Marangi <[email protected]>
2 days agogeneric: add pending patch fixing resource_size()
Christian Marangi [Sun, 7 Dec 2025 22:24:26 +0000 (23:24 +0100)]
generic: add pending patch fixing resource_size()

Add opending patch fixing resource_size(9 if resource start and end is
set to zero.

This is to indirectly fix a helper rework in ath11k qmi code that cause
firmware load panic.

Link: https://github.com/openwrt/openwrt/pull/20964
Signed-off-by: Christian Marangi <[email protected]>
2 days agogeneric: move reserved_mem backports patch to generic
Christian Marangi [Mon, 1 Dec 2025 22:57:53 +0000 (23:57 +0100)]
generic: move reserved_mem backports patch to generic

Move reserved_mem backports patch from airoha to generic dir as it will
be also used by backports package based on 6.18.

Link: https://github.com/openwrt/openwrt/pull/20964
Signed-off-by: Christian Marangi <[email protected]>
2 days agogeneric: backport support for faux base driver
Christian Marangi [Thu, 27 Nov 2025 21:00:03 +0000 (22:00 +0100)]
generic: backport support for faux base driver

Backport support for faux base driver needed for backports package to
compile with kernel 6.18.

Link: https://github.com/openwrt/openwrt/pull/20964
Signed-off-by: Christian Marangi <[email protected]>
2 days agoodhcp6c: update to Git HEAD (2025-12-06)
Álvaro Fernández Rojas [Sat, 6 Dec 2025 16:13:27 +0000 (17:13 +0100)]
odhcp6c: update to Git HEAD (2025-12-06)

1d6c4e794cdb src: convert allow_slaac_only to boolean
8cfe71daaad7 src: stop overriding allow_slaac_only values
aac34157167b odhcp6c: drop script_sync_delay override
05aa750fbe44 config: fix default value for allow_slaac_only

https://github.com/openwrt/odhcp6c/compare/f19dd37fb467...1d6c4e794cdb

Also add myself as maintainer.

Signed-off-by: Álvaro Fernández Rojas <[email protected]>
2 days agoqualcommax: ipq50xx: fix qca8337 dtc warnings
George Moussalem [Sat, 29 Nov 2025 17:01:48 +0000 (21:01 +0400)]
qualcommax: ipq50xx: fix qca8337 dtc warnings

Add missing address-cells and size-cells properties under the switch's
ports node to fix a multitude of below build warnings:

Warning (reg_format): /soc@0/mdio@90000/ethernet-switch@11/ports/port@1:reg: property has invalid length (4 bytes) (#address-cells == 2, #size-cells == 1)
Warning (avoid_default_addr_size): /soc@0/mdio@90000/ethernet-switch@11/ports/port@1: Relying on default #address-cells value

Signed-off-by: George Moussalem <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20982
Signed-off-by: Robert Marko <[email protected]>
2 days agoqualcommax: ipq50xx: remove disabled partitions node
George Moussalem [Sat, 29 Nov 2025 16:35:55 +0000 (20:35 +0400)]
qualcommax: ipq50xx: remove disabled partitions node

Although the bootloader tries to 'fixup' the qpic nand node, it actually
can't find it as the node was renamed to spi based on the new driver
architecture. The added benefit is that it also silences build warning:

Warning (spi_bus_reg): /soc@0/spi@79b0000/partitions: missing or empty reg property

Signed-off-by: George Moussalem <[email protected]>
---
Node rename:

old node name: qpic-nand@79b0000
new node name: spi@79b0000

Bootloader logs:

   Booting using the fdt blob at 0x44d3fc78
   Uncompressing Kernel Image ... OK
   Loading Device Tree to 4a3f6000, end 4a3ff805 ... OK
fdt_fixup_qpic: QPIC: unable to find node '/soc/qpic-nand@79b0000'
parse_fdt_fixup: unable to find node '/soc/qpic-nand@79b0000/'
Link: https://github.com/openwrt/openwrt/pull/20982
Signed-off-by: Robert Marko <[email protected]>
3 days agolantiq: tplink_tdw89x0: use led-sources for wifi LED
Rosen Penev [Sat, 6 Dec 2025 03:44:33 +0000 (19:44 -0800)]
lantiq: tplink_tdw89x0: use led-sources for wifi LED

Avoids having to create a custom LED for wifi.

Signed-off-by: Rosen Penev <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/21059
Signed-off-by: Hauke Mehrtens <[email protected]>
3 days agobcm53xx: image: sync targets names with DT compatible
Mario Andrés Pérez [Sat, 6 Dec 2025 01:44:18 +0000 (02:44 +0100)]
bcm53xx: image: sync targets names with DT compatible

Some devices profile names and *.dts files are named without suffix
"-v1" but the DT compatible has the suffix. (xwr-3150 exception)

This breaks ASU sysupgrades since the default SUPPORTED_DEVICES is the
makefile image profile target and it does not match the actual DT
compatible sent by the ASU client.

This is not breaking sysupgrade because the platform implementation
does not depends on DEVICE_NAME(not use sysupgrade-TAR). And the
board_name() checks are done against the correct DT compatible.[1]

[1]: https://github.com/openwrt/openwrt/blob/09e7b24ceb5d9310334c4f88327dc6d58052e7fd/target/linux/bcm53xx/base-files/lib/upgrade/platform.sh#L36-L62
Fixes: https://github.com/openwrt/asu/issues/560
Fixes: https://github.com/openwrt/asu/issues/560#issuecomment-2083236275
Fixes: https://github.com/openwrt/asu/issues/1108
Fixes: https://forum.openwrt.org/t/luci-attended-sysupgrade-support-thread/230552/243
Fixes: c459a6b "bcm53xx: add support for Luxul FullMAC WiFi devices"
Fixes: 1d47f81 "bcm53xx: build images for Luxul ABR-4500 and XBR-4500 routers"
Signed-off-by: Mario Andrés Pérez <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/21056
Signed-off-by: Hauke Mehrtens <[email protected]>
3 days agoodhcpd: update to Git HEAD (2025-12-04)
Goetz Goerisch [Fri, 5 Dec 2025 19:11:40 +0000 (20:11 +0100)]
odhcpd: update to Git HEAD (2025-12-04)

63f040e88b12 formal: fix workflow permissions
d970ae0ca4a3 router: improve RA PIO search logic
8fde62a82bdd router: rename router_clear_ra_pio
8b26b0124aed router: remove duplicated PIOs
d354ebb66cdc router: optimize duplicated PIO comparison
79252ed0c0c2 router: skip if branch in PIO clear functions

https://github.com/openwrt/odhcpd/compare/6fbd70c08342...79252ed0c0c2

Signed-off-by: Goetz Goerisch <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/21055
Signed-off-by: Álvaro Fernández Rojas <[email protected]>
4 days agolibunwind: fix complie for PPC32
David Bauer [Fri, 5 Dec 2025 18:50:22 +0000 (19:50 +0100)]
libunwind: fix complie for PPC32

libunwind fails to compile because the include for the WORDSIZE
definition was missing when compiling with musl libc.

This lead to unw_word_t being defined as 64 bit long instead
of the correct 32 bit.

Signed-off-by: David Bauer <[email protected]>
4 days agompc85xx: p1010: Fix Sophos RED 15w NAND partitions
Shine [Tue, 11 Nov 2025 18:49:16 +0000 (19:49 +0100)]
mpc85xx: p1010: Fix Sophos RED 15w NAND partitions

This partially reverts 78d259e7d28d212425164fc64bf0b9d8669d6020.
That commit broke mounting the root fs on Sophos RED 15w due to
partition size mismatch, and changed the partition sequence, causing
the OpenWrt partition numbers to change from mtd3:kernel/mtd4:ubi to
mtd4:kernel/mtd5:ubi.

Fixes: 78d259e7d28d ("mpc85xx: fix some dtc warnings")
Signed-off-by: Shine <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20745
Signed-off-by: Hauke Mehrtens <[email protected]>
4 days agorockchip: drop sdmmc speed limitation for RK3576/RK3588
Tianling Shen [Fri, 17 Oct 2025 07:28:57 +0000 (15:28 +0800)]
rockchip: drop sdmmc speed limitation for RK3576/RK3588

The stability issue doesn't seem to be found on newer rockchip SoCs
like RK3528, RK3576 and RK3588, so drop the sdr50 limitation.

In addtion, the HS200 limitation for NanoPC T6 is also removed as
upstream fixed the real issue in mmc driver.

Signed-off-by: Tianling Shen <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20432
Signed-off-by: Hauke Mehrtens <[email protected]>
4 days agoodhcp6c: update to Git HEAD (2025-12-04)
Álvaro Fernández Rojas [Thu, 4 Dec 2025 09:20:45 +0000 (10:20 +0100)]
odhcp6c: update to Git HEAD (2025-12-04)

f19dd37fb467 odhcp6c: accept EUI64 and random for interface ID
e955729c781f formal: fix workflow permissions
9557d3e245aa vscode: set tabs to 8 whitespaces by default
98dfd156f399 src: fix shadowed local variables

https://github.com/openwrt/odhcp6c/compare/f98b6ec82362...f19dd37fb467

Signed-off-by: Álvaro Fernández Rojas <[email protected]>
4 days agoath79: fix platform check image mikrotik nor
Marcin Maj [Thu, 4 Dec 2025 00:43:41 +0000 (01:43 +0100)]
ath79: fix platform check image mikrotik nor

Every attempt to update a device with NOR flash
and RouterBOOT v6 resulted in the error:
“RouterBOOT 6 and earlier requires ELF-in-YAFFS image.”
The cause was that xargs did not fully remove whitespace,
so the condition "$bootentry" != "kernel" always evaluated to true.

Signed-off-by: Marcin Maj <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/21034
Signed-off-by: Robert Marko <[email protected]>
5 days agoairoha: fix kernel panic from I2S driver
Christian Marangi [Thu, 4 Dec 2025 23:54:38 +0000 (00:54 +0100)]
airoha: fix kernel panic from I2S driver

Commit 8f1914053b24 ("airoha: replace I2S patch with upstream pending
version") introduced a kernel panic with I2S driver.

Add the fixed patch to fix the kernel panic.

Fixes: 8f1914053b24 ("airoha: replace I2S patch with upstream pending version")
Signed-off-by: Christian Marangi <[email protected]>
5 days agoairoha: enable I2S sound driver and add nodes for eMMC RFB board
Christian Marangi [Thu, 4 Dec 2025 22:14:30 +0000 (23:14 +0100)]
airoha: enable I2S sound driver and add nodes for eMMC RFB board

Enable I2S sound driver and add nodes for eMMC RFB board since it's the
one that always have the I2C codec and can use the sound card.

Signed-off-by: Christian Marangi <[email protected]>
5 days agoairoha: replace I2S patch with upstream pending version
Christian Marangi [Thu, 4 Dec 2025 22:13:12 +0000 (23:13 +0100)]
airoha: replace I2S patch with upstream pending version

Replace I2S sound patch with upstream pending version. This adds ETDM
support and fix various bug in the downstream implementation.

Signed-off-by: Christian Marangi <[email protected]>
5 days agoeconet: basic Ethernet support
Caleb James DeLisle [Fri, 7 Nov 2025 17:45:01 +0000 (17:45 +0000)]
econet: basic Ethernet support

This is about as simple as it gets, it's able to start up and put
the onboard switch into dumb switch mode and then send untagged
frames which become available on every switch port.

It is out-of-tree to allow for rapid development and it is being
proposed now because even in this state it brings a lot of value
to the EcoNet platform and it is a fairly complex ethernet system
so it will take some time before the driver is in a state that
may be considered for upstreaming.

Signed-off-by: Caleb James DeLisle <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20685
Signed-off-by: Hauke Mehrtens <[email protected]>
5 days agoeconet: standardize partitions in DTS files
Caleb James DeLisle [Fri, 7 Nov 2025 16:59:10 +0000 (16:59 +0000)]
econet: standardize partitions in DTS files

In preparation for the introduction of ethernet, this patch normalizes the
partitions in the devices in DT so that the partition to upgrade will
always be called tclinux, no matter what it is called from the factory.
Also fix a math error in Nokia G240G-E partition table and remove leading
zeros from paritition offsets.

Finally, add NVMEM mac-address entries where they are left by the
factory. In preparation for the introduction of Ethernet and Wifi
support.

Signed-off-by: Caleb James DeLisle <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20685
Signed-off-by: Hauke Mehrtens <[email protected]>
5 days agorockchip: backport MMC CQE fixes
Tianling Shen [Wed, 3 Dec 2025 06:36:32 +0000 (14:36 +0800)]
rockchip: backport MMC CQE fixes

Added missing platform data struct for RK3576 to fix boot issues,
fixed general stability issues and also improved random write
performance.

Signed-off-by: Tianling Shen <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/21028
Signed-off-by: Hauke Mehrtens <[email protected]>
5 days agobcm47xx: Fix lzma-loader compilation
Hauke Mehrtens [Thu, 4 Dec 2025 20:33:13 +0000 (21:33 +0100)]
bcm47xx: Fix lzma-loader compilation

Fixes:
```
LzmaDecode.c: In function 'RangeDecoderReverseBitTreeDecode':
LzmaDecode.c:199:5: error: 'symbol' undeclared (first use in this function)
  199 |     symbol |= (bit << i);
      |     ^~~~~~
LzmaDecode.c:199:5: note: each undeclared identifier is reported only once for each function it appears in
```

Fixes: 4ffd5aa239c1 ("treewide: fix coccinelle checks")
Signed-off-by: Hauke Mehrtens <[email protected]>
5 days agoramips: Fix cmpilation
Hauke Mehrtens [Thu, 4 Dec 2025 20:12:24 +0000 (21:12 +0100)]
ramips: Fix cmpilation

Fixes this compile problem:
```
drivers/net/ethernet/ralink/esw_rt3050.c: In function 'rt3050_esw_init':
drivers/net/ethernet/ralink/esw_rt3050.c:1467:12: error: 'pdev' is used uninitialized [-Werror=uninitialized]
 1467 |         if (!pdev)
      |            ^
drivers/net/ethernet/ralink/esw_rt3050.c:1461:33: note: 'pdev' was declared here
 1461 |         struct platform_device *pdev;
      |                                 ^~~~
cc1: all warnings being treated as errors
```

Fixes: 4ffd5aa239c1 ("treewide: fix coccinelle checks")
Signed-off-by: Hauke Mehrtens <[email protected]>
5 days agogeneric: 6.12: backport b53 fixes for BCM5325
Álvaro Fernández Rojas [Tue, 2 Dec 2025 08:18:48 +0000 (09:18 +0100)]
generic: 6.12: backport b53 fixes for BCM5325

Replace pending b53 fixes patches with the accepted ones from net-next for
linux v6.19.

Signed-off-by: Álvaro Fernández Rojas <[email protected]>
5 days agosdk: use GIT_COMMIT for buildbot SDK
Christian Marangi [Thu, 4 Dec 2025 18:20:55 +0000 (19:20 +0100)]
sdk: use GIT_COMMIT for buildbot SDK

Instead of using tag name, directly use git commit for the base feed
string if we detect we are generating an SDK from a buildbot (using
CONFIG_BUILDBOT)

This improve security and generates consistent feed.conf.default files
following the pattern used by feeds repository.

Signed-off-by: Christian Marangi <[email protected]>
5 days agosdk: invert logic for GIT_BRANCH and GIT_TAGNAME
Christian Marangi [Thu, 4 Dec 2025 18:11:17 +0000 (19:11 +0100)]
sdk: invert logic for GIT_BRANCH and GIT_TAGNAME

There is currently a logic error with generating the base feed string.

In the scenario where the commit of a Tag match the latest commit of a
stable branch, the stable branch have priority over the tag name.

This results in generating SDK that actually target the branch instead
of the specific tag.

To fix this invert the logic and give priority to the tag name.

Fixes: #18583
Signed-off-by: Christian Marangi <[email protected]>
5 days agosdk: filter out main on GIT_BRANCH parsing
Christian Marangi [Thu, 4 Dec 2025 18:08:08 +0000 (19:08 +0100)]
sdk: filter out main on GIT_BRANCH parsing

Branch named main was never filter out on parsing the GIT_BRANCH define.

Add main to the name of branch that should be filtered.

Signed-off-by: Christian Marangi <[email protected]>
5 days agotools: gnulib: fix broken install of .m4 files
Christian Marangi [Thu, 4 Dec 2025 15:32:03 +0000 (16:32 +0100)]
tools: gnulib: fix broken install of .m4 files

Makefile foreach works only on parsing the Makefile and in this specific
case only works if the package is already extracted and file actually
exist.

On scenario where the package still has to be built, foreach doesn't
find any file causing Host/Install to not install any .m4 file.

To handle this, use a shell for loop that scan files in the
Host/install.

Fixes: c820f097e0be ("tools: gnulib: install .m4 file with gl_ prefix")
Signed-off-by: Christian Marangi <[email protected]>
5 days agobusybox: fix regression for long long type dump support
Shiji Yang [Mon, 1 Dec 2025 16:06:45 +0000 (00:06 +0800)]
busybox: fix regression for long long type dump support

Fix wrong output using '%d' format when byte count parameter is not
given.

Signed-off-by: Shiji Yang <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/21013
Signed-off-by: Robert Marko <[email protected]>
5 days agoqca-nss-dp: update to Git HEAD (2025-11-24)
Robert Marko [Thu, 4 Dec 2025 10:31:01 +0000 (11:31 +0100)]
qca-nss-dp: update to Git HEAD (2025-11-24)

cdedfd891bdf nss-dp: fix hardware STP state sync with the kernel
19c51af0c5be nss-dp: switchdev: improve FDB cleanup for roaming

Signed-off-by: Robert Marko <[email protected]>
5 days agorpcd: update to Git HEAD (2025-12-03)
Robert Marko [Thu, 4 Dec 2025 10:05:43 +0000 (11:05 +0100)]
rpcd: update to Git HEAD (2025-12-03)

a284e7751fa7 file: bump sz_size to 64 bits
ffb9961c1f8b file: provide user name and group name lookups for stat listings

Signed-off-by: Robert Marko <[email protected]>
5 days agoodhcpd: update to Git HEAD (2025-12-01)
Goetz Goerisch [Mon, 1 Dec 2025 10:33:11 +0000 (11:33 +0100)]
odhcpd: update to Git HEAD (2025-12-01)

338ca8abb950 dhcpv4: support IPv6-only preferred (RFC8925)
7336992e6866 dhcpv6-ia: fix a crash when static lease isn't configured
a170d63874f2 src: fix shadowed local variables
90f503fc7ca6 ubus: fix shadow local variable
ef8de928da7f build: enable DHCPV4_SUPPORT and UBUS
def8adea9e6c statefiles: remove hosts entries from statefile
e568bde96e9f odhcpd: remove OAF_BROKEN_HOSTNAME
1fe60e14e468 odhcpd: remove OAF_STATIC
9ae348c07ce0 dhcpv6: remove OAF_TENTATIVE
d0e6bc4d1cc2 odhcpd: remove OAF_BOUND
7fddd3916664 statefiles: change ipv4 MAC statefile syntax
bb2da6dcb58d build: fix BUILD_ARGS
94ef124f726e dhcpv6-ia: fix crash in dhcpv6_free_lease()
6fbd70c08342 build: disable static libraries

https://github.com/openwrt/odhcpd/compare/d21e504b38ab...6fbd70c08342

Signed-off-by: Goetz Goerisch <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/21009
Signed-off-by: Álvaro Fernández Rojas <[email protected]>
6 days agotreewide: Fix const compile errors
Hauke Mehrtens [Wed, 3 Dec 2025 21:46:44 +0000 (22:46 +0100)]
treewide: Fix const compile errors

Fixes compile errors caused by static const arrays;

The lantiq firmware is const now.

ATTRIBUTE_GROUPS() does not take const.

Fixes: 5b263f3360b ("treewide: add const to static arrays")
Signed-off-by: Hauke Mehrtens <[email protected]>
6 days agomvebu: gl-mv1000: add devicetree patch for sdhci1
Mikhail Zadorozhnyi [Sun, 12 Oct 2025 14:52:35 +0000 (17:52 +0300)]
mvebu: gl-mv1000: add devicetree patch for sdhci1

GL-MV1000 external SD controller was broken by a recent kernel update
due to a mistake in Device Tree: "regulator-gpio" was defined without
required "gpios" property.

Removing this regulator definition from the device tree fixes this issue
without any side effects so far.

"main" branch uses upstream devicetree for this device, so add a kernel
patch for the "mvebu" kernel family.

Relevant discussions:
https://github.com/openwrt/openwrt/issues/20309
https://github.com/openwrt/openwrt/pull/20378

Signed-off-by: Mikhail Zadorozhnyi <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20390
Signed-off-by: Robert Marko <[email protected]>
6 days agoautoconf-archive: backport patch for C++23 support
Christian Marangi [Wed, 3 Dec 2025 18:58:00 +0000 (19:58 +0100)]
autoconf-archive: backport patch for C++23 support

Backport upstream patch for C++23 support on ax_cxx_compile_stdcxx.m4.

This is needed by Asterisk package to correctly configure.

It's currently not possible to bump to a more recent autoconf-archive
release 2024.10.16 as it's currently affected by multiple BUGs ([1])

[1] https://github.com/openwrt/openwrt/commit/e1acc7a67b92fa964710afe0a3ae2dad5c1f00c7

Signed-off-by: Christian Marangi <[email protected]>
6 days agotools: gnulib: install .m4 file with gl_ prefix
Christian Marangi [Wed, 3 Dec 2025 17:39:52 +0000 (18:39 +0100)]
tools: gnulib: install .m4 file with gl_ prefix

It was found that there is currently a conflict for the cond.m4 that
is also shipped by automake, making the gnulib one having priority causing
problem with finding AM_CONDITIONAL macro.

To handle this, install gnulib .m4 file with a gl_ prefix to the
filename.

This make sure gnulib .m4 file won't have name conflict with automake
.m4 default files permitting correct autoreconf run of any affected
package by this.

Signed-off-by: Christian Marangi <[email protected]>
6 days agomicrochipsw: lan969x: add Microchip EV23X71A
Robert Marko [Thu, 25 Sep 2025 20:44:10 +0000 (22:44 +0200)]
microchipsw: lan969x: add Microchip EV23X71A

Microchip EV23X71A is a LAN9696 based EVB.

Specifications:
* CPU: Microchip LAN9696 switch SoC
* DRAM: 1GB DDR4
* Storage:
* 2MB QSPI NOR
* 4GB eMMC
* Networking:
* 24 x 10/100/1000 RJ45 via LAN8814 Quad PHY-s over QSGMII
* 4 x 100/1000/2500/5000/10000 SFP+ ports
* 1 x 10/100/1000 management RJ45 via LAN8840 PHY over RGMII (U-Boot too)
* USB: 1 x USB2.0 Type-A
* Management via USB-C (MCP2200):
* UART @ 115200 baud
* GPIO-s for bootstrap, reset and clock selection
* DIP switch for boostrap configuration
* LED-s:
* 2 per networking port (Green and Yellow)
* Green status LED
* Yellow reset LED
* Hard reset button
* Power:
* 12V DC barrel jack
* 48/56V DC screw terminal
* Selectable via toggle switch
* PTP support:
* Sync-E DPLL ZL30732B to generate the board required clocks
* Two SMAs for PTP and two for Station clock inputs and outputs
* Two ITU-T G.8275-compliant RS-422 interfaces for PTP applications
* External PoE:
* Option for PoE add-on, like EV14Y36A (IEEE 802.3af/at/bt Type 4
standard com-pliant)
* Option for external CPU control via SPI and PCIe

Installation instructions:

1. Connect to UART via the USB-C port
2. Connect the management port
3. Boot and interrupt U-Boot
4. TFTP the OpenWrt initramfs image and boot it
5. SCP the OpenWrt eMMC GPT image to a running OpenWrt initramfs to /tmp
openwrt-microchipsw-lan969x-microchip_ev23x71a-squashfs-emmc-gpt.img.gz

And decompress it via:
gzip -d /tmp/openwrt-microchipsw-lan969x-microchip_ev23x71a-squashfs-emmc-gpt.img.gz

6. Wipe eMMC with:
dd if=/dev/zero of=/dev/mmcblk0 bs=1M

7. Flash OpenWrt eMMC image with:
dd if=/tmp/openwrt-microchipsw-lan969x-microchip_ev23x71a-squashfs-emmc-gpt.img
of=/dev/mmcblk0

After a restart OpenWrt will boot, and then regular sysupgrade can be used
for upgrades.

Signed-off-by: Robert Marko <[email protected]>
6 days agomicrochipsw: add support for Microchip LAN969x switches
Robert Marko [Wed, 24 Sep 2025 10:24:26 +0000 (12:24 +0200)]
microchipsw: add support for Microchip LAN969x switches

Add a new microchipsw target aimed add supporting Microchip switch
SoC-s.

Start by supporting LAN969x SoC-s as the first subtarget.

Signed-off-by: Robert Marko <[email protected]>
7 days agoath79: sitecom,wlrx100: use nvmem
Rosen Penev [Sat, 15 Jun 2024 22:13:07 +0000 (15:13 -0700)]
ath79: sitecom,wlrx100: use nvmem

Userspace handling is deprecated.

Also use led-sources for simplicity.

Signed-off-by: Rosen Penev <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20508
Signed-off-by: Hauke Mehrtens <[email protected]>
7 days agomediatek: filogic: add support for Widelantech WAP430X
Rani Hod [Tue, 7 Oct 2025 14:54:55 +0000 (17:54 +0300)]
mediatek: filogic: add support for Widelantech WAP430X

This AX3000 flying saucer-shaped device is sold under a few names:
- Widelantech WAP430X
  http://www.widelantech.com/?m=home&c=View&a=index&aid=131
- Felicomm
- UeeVii UAP200 (sold on amazon.com)
True name, as marked on the PCB and as appears in the DTS, is WAP430X.

Hardware:
- SoC: Mediatek MT7981B
- RAM: 256MiB DDR3
- ROM: 16MiB NOR flash (Winbond 25Q128JVSQ)
- Wired: one GbE RJ45 port
- Wireless: Mediatek MT7976CN DBDC
- Antennas: Internal (two 2.4 GHz 4.5 dBi, three 5 GHz 6 dBi)
- GPIO: two blue LEDs (status, WLAN), one button (reset)
- Power: DC5521 (12V) or 802.3af PoE (48V 0.3A)
- UART: J500 on PCB [3v3] (Rx) (Tx) (Gnd), 115200n

Original firmware is GECOOS 8.0_2024081000, a fork of OpenWrt 21.02
created by Widelantech. All ports are closed except 443 (web management
interface) and 80 (redirects to 443). UART is locked down, but U-Boot
bootloader is friendly.

Installation is done via UART (see note below).

Method 1: press any key during boot to enter MTK U-Boot bootloader,
then choose option 2 (Upgrade firmware) and upload sysupgrade binary
via TFTP (or via Xmodem).

Method 2: put sysupgrade binary on a webserver (http, not https); after
GECOOS loads, choose option 4 (固件在线升级 = online firmware upgrade)
in the menu and enter the URL to the sysupgrade binary.

Note: GECOOS has a slick web management, and firmware can be uploaded
at https://6.6.6.6/#/system/sysupgrade but it's still not clear how to
convert the sysupgrade binary to a factory binary accepted by the web
interface (WIP).

Signed-off-by: Rani Hod <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20402
Signed-off-by: Hauke Mehrtens <[email protected]>
7 days agoath79: ecb1xxx: use nvmem
Rosen Penev [Fri, 14 Jun 2024 18:50:06 +0000 (11:50 -0700)]
ath79: ecb1xxx: use nvmem

Userspace handling is deprecated.

Also switch LED to led-sources for simplicity.

Signed-off-by: Rosen Penev <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20529
Signed-off-by: Hauke Mehrtens <[email protected]>
7 days agogpio-button-hotplug: use devm_kmemdup_array
Rosen Penev [Fri, 28 Nov 2025 23:31:24 +0000 (15:31 -0800)]
gpio-button-hotplug: use devm_kmemdup_array

Eliminates a manual memcpy.

Signed-off-by: Rosen Penev <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/19932
Signed-off-by: Hauke Mehrtens <[email protected]>
7 days agotreewide: add const to static arrays
Rosen Penev [Sun, 31 Aug 2025 21:01:55 +0000 (14:01 -0700)]
treewide: add const to static arrays

Allows more compiler optimization.

Signed-off-by: Rosen Penev <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/19932
Signed-off-by: Hauke Mehrtens <[email protected]>
7 days agotreewide: fix coccinelle checks
Rosen Penev [Sun, 3 Nov 2024 22:11:30 +0000 (14:11 -0800)]
treewide: fix coccinelle checks

Unneeded semicolon

WARNING comparing pointer to 0

WARNING: NULL check before some freeing functions is not needed.

WARNING: casting value returned by memory allocation function to (u32 *)

ERROR: allocation function on line 378 returns NULL not ERR_PTR on failure

Signed-off-by: Rosen Penev <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/19932
Signed-off-by: Hauke Mehrtens <[email protected]>
7 days agoath79: ews511ap: use nvmem
Rosen Penev [Sat, 22 Jun 2024 17:46:07 +0000 (10:46 -0700)]
ath79: ews511ap: use nvmem

Userspace handling is deprecated.

This is a weird one. It should be using u-boot,env, but the variable
name is unknown. Keep it as is.

Signed-off-by: Rosen Penev <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20520
Signed-off-by: Hauke Mehrtens <[email protected]>
7 days agokernel: bump 6.12 to 6.12.60
gongzi miao [Mon, 1 Dec 2025 11:30:51 +0000 (19:30 +0800)]
kernel: bump 6.12 to 6.12.60

changelog:
https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.12.60

Signed-off-by: gongzi miao <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/21010
Signed-off-by: Hauke Mehrtens <[email protected]>
7 days agorealtek: dsa: rtl930x: Fix flow control with ingress shaping
Sven Eckelmann [Mon, 1 Dec 2025 12:58:40 +0000 (13:58 +0100)]
realtek: dsa: rtl930x: Fix flow control with ingress shaping

Tests with ingress shaping and enabled flow control showed really high
packet loss. It seems like the MAC pause frames are not created correctly
when both burst high off is set to the same value as burst high on.

By default, RTL930x has set the burst high values to:

* on: 64K
* off: 32K

Using the same 1:2 ratio seems to solve the high packet loss rate during
UDP tests.

Fixes: 2e74eb6d93a7 ("realtek: dsa: rtl93xx: Support per port throttling")
Signed-off-by: Sven Eckelmann <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/21011
Signed-off-by: Robert Marko <[email protected]>
8 days agoopenssl: fix AES-GCM-SIV and AES-SIV with zero-length messages
Felix Fietkau [Mon, 1 Dec 2025 18:13:52 +0000 (18:13 +0000)]
openssl: fix AES-GCM-SIV and AES-SIV with zero-length messages

Fix the cipher implementation to avoid treating empty input as finalizer.
This issue is fixed in the openssl 3.6 branch, but the fix approach from
that branch is not suitable for 3.5, since the code is completely different.

Signed-off-by: Felix Fietkau <[email protected]>
8 days agoqualcommax: fix CPR of_property_present conversion
Robert Marko [Mon, 1 Dec 2025 14:02:04 +0000 (15:02 +0100)]
qualcommax: fix CPR of_property_present conversion

CPR conversion to of_property_present is broken in multiple places, either
by leaving the comma after now the last argument or by attempting to replace
an instance that actually uses the returned length.

So, lets fix these in order for qualcommax to compile again.

Fixes: c9e7f32c4c09 ("treewide: use of_property_present")
Signed-off-by: Robert Marko <[email protected]>
8 days agoqualcommax: ipq807x: add support for Zyxel NWA210AX
Eric Schäfer [Tue, 12 Aug 2025 18:47:28 +0000 (18:47 +0000)]
qualcommax: ipq807x: add support for Zyxel NWA210AX

The Zyxel NWA210AX is a wall- and ceiling-mountable access point (AP).

Hardware specifications:
- SoC: Qualcomm IPQ8071A
- RAM: 1 GB (Samsung K4A8G165WC-BCTD)
- Flash: 8 MB (Winbond W25Q64DW), 256 MB (Winbond W29N02GZ)
- Ethernet: 1x 2.5 Gbps RJ45 port (QCA8081), 1x 1 Gbps RJ45 port (AR8033)
- WiFi: 2.4 GHz 802.11ax/b/g/n (QCN5024), 5 GHz 802.11 ac/ax/n (QCN5054)
- Power: DC 12V/PoE 802.3at
- Button: Reset
- LEDs: Multicolour red/green/blue/white via LP5562

Installation/flashing instructions:
1. In OEM web interface navigate to gear icon → System → SSH and enable SSH.
2. Log in via SSH (username/password are the same as for the web interface).
3. Run "debug dual-image show".
4. Verify that output is "Current Image num: 1".
5. If this is not the case (i.e. if the output is "Current Image num: 0"):
   a. Either flash a fresh version of factory firmware, or
   b. run "debug dual-image set boot-image image1" and then run "reboot".
6. Log in via SSH again and verify that output is "Current Image num: 1".
7. Rename "openwrt-qualcommax-ipq807x-zyxel_nwa210ax-squashfs-factory.bin" to
   "openwrt.bin" to avoid upload errors in the OEM web interface.
8. Reopen OEM web interface, navigate to wrench icon → File Manager →
   Firmware Package and upload the bin file. Once the upgrade process is
   finished and OpenWrt has booted, the LED will light up green.

Switching between OpenWrt and OEM firmware:
- OpenWrt → Zyxel via ssh command "zyxel-bootconfig-ipq807x set image1".
- Zyxel → OpenWrt via ssh command "debug dual-image set boot-image image0".

This commit is based on the work of Pascal Beleiu  <[email protected]>:
93ca21f3 (qualcommax: ipq807x: add support for Zyxel NWA210AX, 2025-03-17)

Signed-off-by: Eric Schäfer <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/19828
Signed-off-by: Robert Marko <[email protected]>
8 days agoath79: add back mistakenly removed label
Rosen Penev [Mon, 1 Dec 2025 10:28:04 +0000 (02:28 -0800)]
ath79: add back mistakenly removed label

Fixes target builds.

Fixes: 592d4e6 ("ath79: mr600-v1: use led-sources for ath9k")
Signed-off-by: Rosen Penev <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/21008
Signed-off-by: Hauke Mehrtens <[email protected]>
8 days agogeneric: 6.12: backport bcm63xx-spi CS deassertion fix
Álvaro Fernández Rojas [Sun, 30 Nov 2025 16:09:46 +0000 (17:09 +0100)]
generic: 6.12: backport bcm63xx-spi CS deassertion fix

Backport fix for premature SPI CS deassertion on RX-only transactions from
linux v6.18, which is needed for bmips (bcm63xx).

Signed-off-by: Álvaro Fernández Rojas <[email protected]>